home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / util / misc / Fudgit233.lha / Source / src / dl / README < prev   
Encoding:
Text File  |  1993-12-14  |  4.4 KB  |  102 lines

  1. This is dl version 1.5.1, created 24-Sep-92.
  2.  
  3. Differences with 1.4:
  4. - You can pass the name of a #! script as binary name and dl_loadmod
  5.   will find the name of the real binary.
  6. - The .ld file is created under a temporary name and moved to the right
  7.   place later (so multiple processes loading the same object don't
  8.   bite each other so much)
  9.  
  10. ------------------------------------------------
  11. This is version 1.4 of dl, a dynamic loader for Irix, created 30-Jul-92.
  12.  
  13. The main change is that there is a new interface, dl_loadmod_mult()
  14. which allows you to obtain more than one address from the newly loaded
  15. module.
  16.  
  17. Dl has also been adapted to work with the new libmld library which
  18. missed some features of older libmld implementations. Dl has been
  19. tested under 4.0.2 and 4.0.5, but I have no reason to believe that it
  20. won't work with older releases.
  21.  
  22. A workaround for incremental loading has been hacked in. The idea was
  23. provided by Casper Dik: if we are in incremental mode (when the user
  24. has called dl_setincr() and calls dl_loadmod() with a null filename)
  25. we make a pass over the string table and remove occurrences of _end,
  26. _etext and _edata. Gross, but it might work.
  27.  
  28. Finally, dl now uses atexit() to attempt to remove temporary
  29. executables when the program exits.
  30.  
  31. -------------------------------------------------------
  32. Here is the README for version 1.3:
  33.  
  34. A few bugs have been fixed, the main one being that object files with
  35. an empty bss segment didn't load correctly.
  36.  
  37. Since linking can take a long time a message is now printed to stderr
  38. while linking the object. There is a routine dl_setmessage() to set
  39. the message printing routine, and a routine dl_nomessage() is also
  40. provided that doesn't print anything.
  41.  
  42. Support for incremental loading has been added. It doesn't work,
  43. unfortunately, because SGI ld refuses to take an incrementally linked
  44. file (one created with an 'ld -A ...' run) as the input to another
  45. incremental link (i.e. as argument to the '-A'). It complains about
  46. '-A file defines loader-defined symbol _etext'. Careful examination of
  47. symbol tables didn't point me at the problem, so I remain open to
  48. suggestions.
  49.  
  50. I received a note from Brian McClendon from SGI, bam@sgi.com, who said
  51. that there was a bug in the R4000 that might influence this package on
  52. the Crimsons. I don't fully understand what the problem might be, but
  53. here's the note:
  54.  
  55.     This is just a note since you're doing a package on dynamic loading.
  56.  
  57.     There is a bug in the R4000s that we work around in the kernel, but
  58.     the work-around depends upon executing .text only.  If you mmap
  59.     and execute .data, you may run into this problem.  To avoid it,
  60.     remind all R4000 users to compile dynamically linked code 
  61.     with the -Wb,-dwalignbr flag.
  62.  
  63.     Later we will make the loader fix this for all code, but for now
  64.     the ccom-piler needs to know.
  65.  
  66. --------------------------------------------------------
  67. Here is the README file for version 1.2:
  68.  
  69. The only significant change with respect to version 1.0 is that the
  70. load addresses for the file are now computed as a hash function from
  71. the file name, and that memory management is done using a bitmap. The
  72. effect of this is that if you often load modules in random order the
  73. caching will still work. A minor (but annoying) change is that
  74. dl_ldzfilep has gotten a second parameter, which is needed due to some
  75. ununderstood weirdness in the ldfcn library.
  76.  
  77. --------------------------------------------------------
  78. Here is the 1.0 README file:
  79. This is the first release of dl, a dynamic loader for Irix.
  80.  
  81. It may or may not run on other unix systems with a little hacking. If your
  82. system has the ldfcn routines (-lmld) and either SysV shared memory or the
  83. mmap() system call you have a fair chance.
  84.  
  85. The library has been tested under Irix 4.0.2 on an Indigo, but it
  86. should probably work on all machines under 4.0.2, and probably under
  87. older releases as well (it has been known to work under 4.0 and 4.0.1
  88. on various platforms). Please let me know if you use this on another
  89. platform (also if it didn't work).
  90.  
  91. There is a tiny test program in 'test', try it.
  92.  
  93. I'm not too happy with the current interface, so please feel free to
  94. comment on it. The main problem is that you currently have to choose between
  95. a very high-level interface or a very low level one. Something in between
  96. would be nice.
  97.  
  98. If there is enough interest (and some feedback on a better
  99. interface) I'll release a new version somewhere in the future.
  100.  
  101. Jack Jansen, Centrum voor Wiskunde en Informatica, Jack.Jansen@cwi.nl
  102.